﻿<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of registration
 *
 * @author Admin
 */
class Application_Model_Registration extends Zend_Db_Table_Abstract {

    protected $_name = 'advertisers';

    /**
     * Запись в таблицу 'advertisers'
     * регистрационных данных рекламодателя
     * @param array $data 
     */
    public function registerAdver($data) {
        $this->_name = 'advertisers';
        $this->insert($data);
    }

    /**
     * Запись в таблицу 'publishers'
     * регистрационных данных публикатора
     * @param array $data 
     */
    public function registerPub($data) {
        $this->_name = 'publishers';
        $this->insert($data);
    }

    /**
     * Запись в временную таблицу 'temporary_advertisers'
     * регистрационных данных публикатора
     * @param array $data 
     */
    public function registerTemporaryAdver($data) {
        $this->_name = 'temporary_advertisers';
        $this->insert($data);
    }

    /**
     * Запись в временную таблицу 'temporary_publishers'
     * регистрационных данных рекламодателя
     * @param array $data 
     */
    public function registerTemporaryPub($data) {
        $this->_name = 'temporary_publishers';
        $this->insert($data);
    }

    /**
     * Посылает письмо на указанный email
     * $who передает role(publisher or advertiser)
     * @param char $email
     * @param char $login
     * @param int $url
     * @param int $who 
     */
    public function sendEmail($login, $password, $url, $email, $who) {
        //если рекламодатель
        if ($who == 3) {
            //посылаем ссылку для рекламодателя
            $link = 'http://contextca.com/en/registration/confirmadver/param/' . $url;
        } else {
            //иначе для публикатора
            $link = 'http://contextca.com/en/registration/confirmpub/param/' . $url;
        }
        $text = 'Добрый день. Вы подали заявку на регистрацию в рекламной системе www.contextca.com, если это были не вы и сообщение отправлено вам по ошибке, просто проигнорируйте его.
            Ваши учетные данные:
            Имя пользователя: ' . $login . '
            Пароль: ' . $password . '
            Перейдите по следующей ссылке для активации учетной записи:
            ' . $link . '
            Ссылка будет активна в течение 24 часов. В случае если вы за это время не подтвердите адрес своей электронной почты, вам придется регистрироваться снова.
            С вопросами и предложениями по работе системы пишите на info@contextca.com 
            С ув. Компания contextca
        ';
        $transport = new Zend_Mail_Transport_Sendmail();
        $mail = new Zend_Mail();
        $mail->addTo($email)
                ->setSubject('Contextca')
                ->setBodyText($text)
                ->setFrom('info@contextca.com');

        try {
            $mail->send($transport);
            echo "Send!<br />\n";
        } catch (Exception $ex) {
            echo "Failed to send mail! " . $ex->getMessage() . "<br />\n";
        }
    }

    /**
     * делаем выборку с временной таблицы 'temporary_advertisers'
     * для того, чтобы проверить, была ли сгенерирована
     * ссылка для данной регистрации рекламодателя
     * @param int $url
     * @return array 
     */
    public function checkConfirmAdver($url) {
        $this->_name = 'temporary_advertisers';
        $select = $this->select()
                ->from($this->_name)
                ->where('url =?', $url);
        return $this->fetchRow($select);
    }

    /**
     * Удаляет запись с временной таблицы 'temporary_advertisers'
     * в случае удачного подтверждения регистрации рекламодателя
     * @param int $url 
     */
    public function deleteTemporaryAdver($url) {
        $this->_name = 'temporary_advertisers';
        $this->delete('url = ' . intval($url));
    }

    /**
     * делаем выборку с временной таблицы 'temporary_publishers'
     * для того, чтобы проверить, была ли сгенерирована
     * ссылка для данной регистрации публикатора
     * @param int $url
     * @return array 
     */
    public function checkConfirmPub($url) {
        $this->_name = 'temporary_publishers';
        $select = $this->select()
                ->from($this->_name)
                ->where('url =?', $url);
        return $this->fetchRow($select);
    }

    /**
     * Удаляет запись с временной таблицы 'temporary_publishers'
     * в случае удачного подтверждения регистрации публикатора
     * @param int $url 
     */
    public function deleteTemporaryPub($url) {
        $this->_name = 'temporary_publishers';
        $this->delete('url = ' . intval($url));
    }

}

?>
